#ifndef Logger_H
#define Logger_H

#include <string>
#include <fstream>
#include <iostream>

class Logger {
private:
    // 私有构造函数
    Logger();
    // 禁止拷贝构造和赋值操作
    Logger(const Logger&) = delete;
    Logger& operator=(const Logger&) = delete;
    
    std::ofstream logFile;
    static Logger* instance;

public:
    // 获取单例实例
    static Logger* getInstance();
    // 释放单例实例
    static void destroyInstance();
    
    // 日志记录方法
    void log(const std::string& message);
    void logError(const std::string& message);
    void logWarning(const std::string& message);
    
    ~Logger();
};

#endif // Logger_H 